﻿using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Drawing;
using System.Data;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using ProjetoBe.cs;
using ProjetoBo.cs;

namespace ProjetoForm
{
    public partial class CadastroCombo : UserControl
    {
        FlowLayoutPanel Conteudo { get; set; }
        public CadastroCombo(FlowLayoutPanel conteudo)
        {
            InitializeComponent();
            ComboBo comboBo = new ComboBo();
            dgDados.DataSource = comboBo.recebelista();
            Conteudo = conteudo;
        }

        private void btn_cadastrar_Click(object sender, EventArgs e)
        {
            try
            {
                if ((txt_nome.Text.Equals("")) || (txt_descricao.Text.Equals("")))
                {
                    MessageBox.Show("Preencha todos os campos!");
                }
                else
                {

                    ComboBe inserirnovocombo = new ComboBe();
                    ComboBo combo = new ComboBo();

                    inserirnovocombo.nome = txt_nome.Text;
                    inserirnovocombo.descricao = txt_descricao.Text;

                    combo.InserirDadosCombo(inserirnovocombo);

                    dgDados.DataSource = combo.recebelista();

                    dgDados.Refresh();

                    Forms.controleCadastroCombo = new CadastroCombo(Conteudo);
                    Conteudo.Controls.Add(Forms.controleCadastroCombo);

                    this.Visible = false;
                    if (Forms.controleCadastroCombo == null)
                    {
                        Forms.controleCadastroCombo = new CadastroCombo(Conteudo);
                        Conteudo.Controls.Add(Forms.controleCadastroCombo);
                    }
                    Forms.controleCadastroCombo.Visible = true;
                    this.Refresh();
                }
            }
            catch
            {
                MessageBox.Show("Operação inválida");
            }

        }

        private void dgDados_CellClick(object sender, DataGridViewCellEventArgs e)
        {
            try
            {
                int linha;
                string valor;
                linha = dgDados.CurrentRow.Index;
                valor = this.dgDados.Rows[linha].Cells[0].Value.ToString();

                int valor2 = Convert.ToInt32(valor);

                ComboBe combo = new ComboBe();
                ComboBo metodosBo = new ComboBo();
                combo = metodosBo.preencherCampos(valor2);

                txt_nome.Text = combo.nome;
                txt_descricao.Text = combo.descricao;
            }
            catch
            {
                MessageBox.Show("Operação inválida");
            }
        }

        private void btn_alterar_Click(object sender, EventArgs e)
        {
            try
            {
                if ((txt_nome.Equals("")) || (txt_descricao.Equals("")))
                {
                    MessageBox.Show("Preencha todos os campos!");
                }
                else
                {
                    ComboBe alterarCombo = new ComboBe();
                    ComboBo combo = new ComboBo();

                    int linha;
                    string valor;
                    linha = dgDados.CurrentRow.Index;
                    valor = this.dgDados.Rows[linha].Cells[0].Value.ToString();

                    int valor2 = Convert.ToInt32(valor);

                    alterarCombo.id = valor2;
                    alterarCombo.nome = txt_nome.Text;
                    alterarCombo.descricao = txt_descricao.Text;

                    combo.alterarDadosCombo(alterarCombo);

                    dgDados.DataSource = combo.recebelista();

                    dgDados.Refresh();

                    Forms.controleCadastroCombo = new CadastroCombo(Conteudo);
                    Conteudo.Controls.Add(Forms.controleCadastroCombo);

                    this.Visible = false;
                    if (Forms.controleCadastroCombo == null)
                    {
                        Forms.controleCadastroCombo = new CadastroCombo(Conteudo);
                        Conteudo.Controls.Add(Forms.controleCadastroCombo);
                    }
                    Forms.controleCadastroCombo.Visible = true;
                    this.Refresh();
                }
            }
            catch
            {
                MessageBox.Show("Operação inválida");
            }
        }

        private void btn_excluir_Click(object sender, EventArgs e)
        {
            try
            {
                ComboBe excluirCombo = new ComboBe();
                ComboBo combo = new ComboBo();

                int linha;
                string valor;
                linha = dgDados.CurrentRow.Index;
                valor = this.dgDados.Rows[linha].Cells[0].Value.ToString();

                int valor2 = Convert.ToInt32(valor);

                excluirCombo.id = valor2;

                combo.excluirDadosCombo(excluirCombo);

                dgDados.DataSource = combo.recebelista();

                dgDados.Refresh();

                setPainelCombo();
            }
            catch
            {
                MessageBox.Show("Operação inválida");
            }

        }

        public void setPainelCombo()
        {
            Forms.controleCadastroCombo = new CadastroCombo(Conteudo);
            Conteudo.Controls.Add(Forms.controleCadastroCombo);

            this.Visible = false;
            if (Forms.controleCadastroCombo == null)
            {
                Forms.controleCadastroCombo = new CadastroCombo(Conteudo);
                Conteudo.Controls.Add(Forms.controleCadastroCombo);
            }
            Forms.controleCadastroCombo.Visible = true;
            this.Refresh();
        }


        private void button1_Click(object sender, EventArgs e)
        {
            this.Visible = false;
            if (Forms.controleMenuHomeAdmin == null)
            {
                Forms.controleMenuHomeAdmin = new menuHomeAdmin(Conteudo);
                Conteudo.Controls.Add(Forms.controleMenuHomeAdmin);
            }
            Forms.controleMenuHomeAdmin.Visible = true;
            this.Refresh();
        }

    }
}
